package model

import (
	"gorm.io/gorm"
	"time"
)

type House struct {
	Id         uint           `gorm:"column:id;type:bigint(20) UNSIGNED;primaryKey;not null;" json:"id"`
	Title      string         `gorm:"column:title;type:varchar(255);comment:房源标题;not null;" json:"title"`
	Price      float64        `gorm:"column:price;type:decimal(10,2);comment:价格;not null;" json:"price"`
	Area       uint           `gorm:"column:area;type:bigint(20);comment:<面积>;not null;" json:"area"`
	City       string         `gorm:"column:city;type:varchar(255);comment:城市;not null;" json:"city"`
	Address    string         `gorm:"column:address;type:varchar(255);comment:<详细地址>;not null;" json:"address"`
	Community  string         `gorm:"column:community;type:varchar(255);comment:<小区名称>;not null;" json:"community"`
	ImageUrl   string         `gorm:"column:image_url;type:varchar(255);comment:<封面图片>;not null;" json:"image_url"`
	VideoUrl   string         `gorm:"column:video_url;type:varchar(255);comment:<房源视频>;not null;" json:"video_url"`
	HType      uint           `gorm:"column:h_type;type:bigint(20);comment:房源状态 1在售 2已售 3已下架 4已锁定;not null;" json:"h_type"`
	FromUserId uint           `gorm:"column:from_user_id;type:bigint(20);comment:发布人ID（关联经纪人用户）;" json:"from_user_id"`
	CreatedAt  time.Time      `gorm:"column:created_at;type:datetime(3);comment:创建时间;not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"` // 创建时间
	UpdatedAt  time.Time      `gorm:"column:updated_at;type:datetime(3);comment:修改时间;not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"` // 修改时间
	DeletedAt  gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);comment:删除时间;default:NULL;" json:"deleted_at"`
}

func (h *House) TableName() string {
	return "house"
}
